package com.itheima.dao;

import com.github.pagehelper.Page;
import com.itheima.entity.QueryPageBean;
import com.itheima.pojo.CheckGroup;
import com.itheima.pojo.CheckItem;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface CheckGroupDao {
    void add(CheckGroup checkGroup);
    Page<CheckGroup> findByQueryString(String queryString);
    void deleteByid(Integer id);
    CheckGroup handleUpdate(Integer id);
    void handleEdit(CheckGroup checkGroup);

    /**
     * 添加项目组与项目项的id到中间关联表
     * @param checkGroupId  项目组的id
     * @param checkitemIds  项目组关联的项目项的id
     */
    void insertGroupAndCheckitemId(@Param("checkGroupId") Integer checkGroupId, @Param("checkitemIds") Integer[] checkitemIds);

    /**
     * 通过项目组的id查询关联的项目项的id
     * @param id
     * @return  项目组关联的项目项的id
     */
    Integer[] findCheckItemIdsByCheckGroupId(Integer id);

    /**
     * 删除
     * 项目组与项目项的
     * 中间表的制定id的项目组的信息
     * @param id
     */
    void deleteByCheckGroupId(Integer id);

    List<CheckGroup> findAll();

    int findCountByCheckGroupId(Integer id);

    CheckGroup findById(Integer id);
//    /**
//     * 向中间表添加信息
//     * @param checkGroupId
//     * @param checkitemId
//     */
//    void associationItemAndGroup(@Param("checkGroupId") Integer checkGroupId,@Param("checkitemId")Integer checkitemId);
}
